package br.com.ffm.info.praticas.fiptwitter;

import br.com.ffm.info.praticas.fiptwitter.excepcion.TwitterException;
import java.util.HashMap;

/**
 * 
 * @author jacksonjp,dyogo,weslei
 * @param nome - nome do usuário
 * @param login - login do usuário
 * @param senha - senha do usuário
 * @return retorna - {@link  usuário}{@link usuáriogetId()}
 * @throws TwitterException - Lança uma exceção caso login já existe
 * @see usuário#getNome() usuário.getNome()
 */
public class FipTwitter {

    private HashMap<String, User> users = new HashMap<String, User>();
    
    public User NewUser(String nome, String login, String senha) throws TwitterException {
        if (users.containsKey(login)) {
            throw new TwitterException("Login já existe!");
        }

        User user = new User(nome, login, senha);
        users.put(login, user);
        
        return user;
    }
    
    public User usuaricomSenhaInvalida(String login,String senha,String nome) throws TwitterException{
       
        if(senha == null || senha.length()<=5){
            throw new TwitterException("Senha deve conter mais do que 5 caracteres.");
        }
        if(users.containsKey(login)){
            throw new TwitterException("Login já existe!");
        }
        User user = new User(nome, login, senha);
        users.put(login, user);
        
        return user;
    }

    public User findByLogin(String login) throws TwitterException{
        if(login==null|| login.equals("")){
            throw new TwitterException("Login inváldo.");
        }
        if(users.get(login)==null){
            throw new TwitterException("Usuário não cadastrado.");
        }
        return users.get(login);
        
    }
    
    public boolean hasLogin(String login){
        return users.containsKey(login);
    }
    
    public void editarBiografia(Usuario user, String novaBiografia){
		user.setBiografia(novaBiografia);
    }
    
    public void retornaMensagem(Usuario user, String novaMensagem){
        user.getMens();
    }
}
    

    
    
    




